创建分支
VTable 默认分支为 develop 分支。无论是功能开发、bug 修复、文档编写,都请新建立一个分支,再合并到 develop 分支上。使用以下代码创建分支:
// 创建文档、demo分支
git checkout -b docs/add-funnel-demo
寻找或者创建issue
原则上,我们规定每一个pr都要有对应的issue。在开始开发之前,请确认是否有对应的issue,且issue没有被认领。
搜索demo issue
可以通过如下方式搜索 demo 相关的issue:
label:demos

其中他有些 feature 会关联doc标签,可以进一步看一下该issue 是不是纯 demo 任务。
创建demo issue
点击 “NEW ISSUE”,打开issue 选择页面,选择“Others”。

填写你要提交的文档 issue 相关信息,并打上“demos”标签即可。

认领issue
如果你想提交 demo 或者修改demo bug,可以在该issue下留言认领。管理员会联系你,确认后将issue assign 给你。
例如:

创建或者修改 demo
VTable 文档和demo在项目的中的位置如下(demos):

以基础面积图的示例文档为例(目前一份示例同时包含中英文版本,分别在 zh & en 的路径下):

示例 Markdown 内容分为几个部分:
-
元信息:示例内容的属性定义,包括图表分类、封面图、关键词等;
-
标题:一级标题下的正文内容对应了示例的描述信息;
-
关键配置:示例中所包含的关键配置说明,这一部分将在示例页面右侧的“关键配置”中呈现;
-
代码演示:示例执行的具体代码内容,目前只支持原生的 JavaScript 代码。
其中 Markdown 的元信息的字段定义为:
-
group:示例的分类信息,描述了当前示例属于什么图表类别
-
title:示例的标
-
keywords:示例的关键词
-
order:示例在同个分组下的排序依据
-
cover:示例的封面图
-
tutorial:跳转的教程链接(默认的示例教程将会跳转到示例分组所对应的教程)
目前图表示例的 group 包含多个分类,对应到 vtable 示例画廊中全部图表下的分类。具体的分类字段可以参照已有的示例文档进行填写。

借助豆包 Marscode AI编程助手进行demo编写
借助豆包Marscode AI编程助手,可以在文档创作的整个流程中提供全方面的帮助。
如果你还没有安装Marscode AI编程助手,请从该链接进入下载页面:https://www.marscode.cn/home?utm_source=developer&utm_medium=oss&utm_campaign=visactor_a
在demo编写中,合理使用 context 指令,可以提升内容的准确性。
**⭐️ #Workspace**
选择 Workspace 中的全局代码作为上下文,AI 将根据用户 Query 自动寻找相关代码 Context

**⭐️ #Files**
搜索选择代码仓库中的文件作为上下文

**⭐️ #Code**
搜索选择代码仓库中的函数、类作为上下文

下面举例说明,如何使用Marscode AI编程助手 进行demo编写。
5.1 提供文档框架
这里 **通过 # 唤起 #Workspace ,**然后进行提问,选中一份example 的文档内容,希望它仿照生成一份新的 example 文档。

我们可以在此基础上继续细节的调整。
5.2 生成说明文字
每个demo的说明文字可以先用 Marscode 生成,然后再做校对和调整。比如:

5.3 生成示例代码
为了更好的解释说明原理和用法,通常需要给出可以实际运行的demo,可以利用 Marscode 的代码生成能力为我们生成示例代码。不过目前各种AI 的代码生成能力都不能保证准确,还需要进一步的进行验证。
5.4 内容检索
通常我们的每个问答,Marscode 都会给出参考文档,这些文档可以给我们提供更多参考上下文,供进一步分析。

也可以直接进行文件检索:

提交代码
文档完成之后,先把代码push到你的远程分支。例如:
git commit -a -m "docs: add custom funnel demo and related docs"
VisActor 的 commit 提交信息遵循 Conventional Commits 规范,demo 使用docs
<type>[optional scope]: <description>
其中常用的type包括 docs(文档、日志修改)、feat(新功能)、fix(问题修复)、refactor(代码重构)等,请根据实际情况选择。
请用简短精确的英文描述编写 description
提交 commit 之前,我们会进行 commit lint 检查,具体可以查看检查规则。
一个常见的问题是远程的 upstream (@visactor/vtable) 有了新的更新, 从而会导致我们提交的 Pull Request 时会导致冲突。 因此我们可以在提交前先把远程其他开发者的 commit 和我们的 commit 合并。使用以下代码切换到 develop 分支:
git checkout develop
使用以下代码拉出远程的最新代码:
git pull upstream develop
切换回自己的开发分支:
git checkout docs/add-funnel-demo
把 develop 的 commit 合并到自己分支:
git rebase develop
把更新代码提交到自己的分支中:
git push origin docs/add-funnel-demo
提交PR
你可以在你的 github 代码仓库页面点击 Compare & pull request 按钮。

或通过 contribute 按钮创建:
按照模板填写本次提交的修改内容:
- 勾选这是什么类型的修改

- 填写关联的 issue

- 若有复杂变更,请说明背景和解决方案

相关信息填写完成后,点击 Create pull request 提交。
管理员会review pr 决定是否通过,如果不通过需要进行修改然后重新提交。
下一步
接下来可以继续尝试不同类型的任务。
github :github.com/VisActor
VisActor 微信订阅号留言(可以通过订阅号菜单加入微信群):

VisActor 官网:www.visactor.io/
飞书群:

discord:https://discord.com/invite/3wPyxVyH6m